With the widespread use of software in recent years, it has been necessary to test and release programs within a limited time in the development of program. For example, a method called DevOps (a portmanteau of development and operations) may be introduced for the development of a program. DevOps is a method for reducing a size of a content of modification to a program for each release so as to shorten release intervals. The DevOps permits a time period from testing to releasing a program to be more limited. In other words, when using the DevOps, the amount of modification to a program at one time is small, but a time period needed for testing is limited.
Under such conditions, there is a need to maximize an effect of a test performed within a limited time. To that end, it is important to appropriately select a test to be preferentially performed, and to quickly confirm bug fixing or to find degradations.
On the other hand, with respect to efficient testing of a program, the following first to fourth technologies exist.
The first technology is a technology of a related test item presentation device that has creation means, calculation means, and extraction means. From test result data that has a test result that is a result of performing a test item, the test item, and information indicating a version on which the test item is to be performed, the creation means creates test-result-change data that has information representing whether there is a change in a test result obtained by performing one test item on each version of software. The calculation means calculates a similarity between test items on the basis of the test result change data. The extraction means extracts a related test item on the basis of the similarity.
The second technology is a technology of a test item creation device. The test item creation device includes information accumulation means, input means, and test-item extraction means. The information accumulation means accumulates therein project information and test items related to software. The input means receives an input of project information and a test item for software to be tested. The test-item extraction means extracts, from the test items accumulated in the information accumulation means, a test item used for testing software to be tested, on the basis of at least either one of the project information and a test item input to the input means.
The third technology is a technology of a development support system. In the development support system, an effect extent management database is previously created and stored. The effect extent management database stores therein an extent to be affected for each “request” (or “program”) when the request (or the program) has been corrected. In other words, a “request”, a program that has to be corrected when the request is corrected, and a test case that has to be performed after the correction, are associated. Further, a “program” and a test case that has to be performed when the program is corrected are associated. For example, when a failure occurs and an instruction to correct a program is issued, a “program” to be corrected is specified, the extent to be affected by the “program” is acquired from the effect extent management database, and only a test case included in the acquired extent affected by the “program” is performed as an operation retest.
The fourth technology is of a test item extraction system. On the basis of a precondition input by a precondition input unit, a test item extraction unit extracts, from among the test items managed by a test item management unit, a candidate for a test item for software to be targeted. A test item extraction unit displays, on a display of an operator, the candidates for a test item retrieved by the test item extraction unit in order of being more likely for a bug to occur, according to the rate of a bug occurring in the past. A test specification registration unit selects, from among the candidates for a test item presented by the operator, an item to be tested as a test specification of software to be targeted, and registers it as a test specification of software to be targeted in a test specification management unit.
The technology that is disclosed in each of the following documents is known:
Japanese Laid-open Patent Publication No. 2013-142967
Japanese Laid-open Patent Publication No. 2009-252167
Japanese Laid-open Patent Publication No. 2008-3985
Japanese Laid-open Patent Publication No. 2005-332098